package com.hzcc.hzccblog.module.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hzcc.hzccblog.common.Result;
import com.hzcc.hzccblog.module.entity.dto.AddArticle;
import com.hzcc.hzccblog.module.entity.dto.FindByATypeDto;
import com.hzcc.hzccblog.module.entity.dto.RedisPageDto;
import com.hzcc.hzccblog.module.entity.po.Article;

/**
 * @Author 早睡蛋
 * @Date 2022/6/8 10:08:26
 * @Desc:
 */
public interface ArticleService extends IService<Article> {

    /**
     * 添加博客文章
     * @param addArticle
     * @return
     */
     Result addArticle(AddArticle addArticle);

    /**
     * 获取博客列表
     * @return
     */
    Result getAllArticle();

    /**
     * 按时间分页查询文章
     * @param currentPage
     * @param pageSize
     * @return
     */
    Result ArticleByTimePage(int currentPage, int pageSize);

    /**
     * 获取指定文章
     * @param id
     * @return
     */
    Result showOneArticle(String id);

    /**
     * 按时间分页查询文章(Redis缓存)
     * @param currentPage
     * @param pageSize
     * @return
     */
    Result articleByTimePageRedis(int currentPage,int pageSize);


    Result findArticleByType(FindByATypeDto findByATypeDto);
}
